package ar.edu.utn.frba.tacs.warnes;

import static org.junit.Assert.*;

import java.util.Date;
import java.util.List;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import ar.edu.utn.frba.tacs.warnes.utils.ConstantesWarnes;
import ar.edu.utn.frba.tacs.warnes.utils.ContenedorWarnes;

public class PiezasTestCase {

	private ContenedorWarnes contenedor;
	private Pieza pieza;
	private Auto auto;

	@Before
	public void inicializaciones() {
		contenedor = ContenedorWarnes.getInstance();
		
		pieza = contenedor.creaUnaPieza();
		pieza.setId(new Long(1));
		pieza.setCategoria(ConstantesWarnes.Categoria.PARTES);
		pieza.setDescripcion("Rueda");
		
		auto = contenedor.creaUnAuto();
		auto.setPatente("asd-123");
		auto.setModelo(new Date().getYear());
		auto.setAnio(new Date());
		auto.setFechaDesguace(new Date());
		
		pieza.setAutoOrigen(auto);
	}

	@After
	public void limpiarContenedor() {
		contenedor.limpiate();
	}
	
	@Test
	public void testDamePiezas() {
		List<Pieza> piezas = contenedor.getPiezas();
		assertEquals(1, piezas.size());
	}

	@Test
	public void testDameAutos() {
		List<Auto> autos = contenedor.getAutos();
		assertEquals(1, autos.size());
	}

	@Test
	public void testConsultaPiezasPorCategoria() {
		List<Pieza> piezasBuscadas = contenedor.getPiezaPorCategoria(ConstantesWarnes.Categoria.PARTES);
		assertTrue(piezasBuscadas.contains(pieza));
	}
}
